home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / MiscKit1.7.1 / MiscKitArchive.mbox / mbox / 000199_misckit-reques…aska.et.byu.edu_Sun May 29 18:27:47 1994.msg < prev    next >
Internet Message Format  |  1994-10-30  |  4KB

  1. Return-Path: <misckit-request@alaska.et.byu.edu>
  2. Received: from alaska.et.byu.edu by darth.byu.edu (NX5.67d/NX3.0M)
  3.     id AA09932; Sun, 29 May 94 18:27:37 -0600
  4. Received: from YVAX2.BYU.EDU by alaska.et.byu.edu; Sun, 29 May 1994 16:23:26 -0600
  5. Received: from DIRECTORY-DAEMON by yvax.byu.edu (PMDF V4.3-8 #4169)
  6.  id <01HCX1SU59SW02LUNO@yvax.byu.edu>; 29 May 94 16:21:55 -0600 (MDT)
  7. Received: from alaska.et.byu.edu by yvax.byu.edu (PMDF V4.3-8 #4169)
  8.  id <01HCX1SO9EHC02LYMB@yvax.byu.edu>; Sun, 29 May 1994 16:21:46 -0600 (MDT)
  9. Received: from YVAX2.BYU.EDU by alaska.et.byu.edu; Sun,
  10.  29 May 1994 16:21:18 -0600
  11. Received: from DIRECTORY-DAEMON by yvax.byu.edu (PMDF V4.3-8 #4169)
  12.  id <01HCX1QTXNRK02LNX9@yvax.byu.edu>; 29 May 94 16:20:17 -0600 (MDT)
  13. Received: from netcomsv.netcom.com (uucp4.netcom.com)
  14.  by yvax.byu.edu (PMDF V4.3-8 #4169) id <01HCX1QMZ4Z4019L3O@yvax.byu.edu>; Sun,
  15.  29 May 1994 16:20:09 -0600 (MDT)
  16. Received: from trwlasd.com by netcomsv.netcom.com with UUCP (8.6.4/SMI-4.1)
  17.  id PAA11353; Sun, 29 May 1994 15:13:41 -0700
  18. Received: from ewsdev14 by trwlasd.com with SMTP id AA19246 (5.65c/IDA-1.4.5)
  19.  ; Sun, 29 May 1994 14:55:39 -0700
  20. Received: by ewsdev14 (NX5.67d/NX3.0X) id AA11841; Sun, 29 May 94 14:55:39 -0700
  21. Received: by NeXT.Mailer (1.100)
  22. Received: by NeXT Mailer (1.100)
  23. Date: Sun, 29 May 1994 14:55:39 -0700
  24. From: Bruce McKenzie <bruce@trwlasd.com>
  25. Subject: Re: Requesting input for file searching object design
  26. To: "R. Todd Thomas" <todd@avocado.cuc.ab.ca>
  27. Cc: misckit@byu.edu
  28. Message-Id: <199405292155.AA19246@trwlasd.com>
  29. Content-Transfer-Encoding: 7BIT
  30.  
  31. > /***************************************************************************
  32. >  * CLASS:        FileSearch
  33. >  * INHERITS FROM:    Object
  34. >  *
  35. >  * Before creating this object, I tried to determine what kind of file
  36. >  * searches one might want to do. Two came to mind: When you want to
  37. >  * search for a specific file (find "image.tiff" in my ~/Icons directory)
  38. >  * or searching for a list of files that meet some criteria (find me
  39. >  * all files with the tiff extension).
  40. >  *     
  41. >  *    Searching for a specific file is done using the method
  42. >  * -searchFor:inDirectory:recursive:followLinks: which will return the
  43. >  * full pathname if the given filename is found.
  44. >  *
  45. >  *     Searching for filenames that meet some criteria is done with
  46. >  * -searchDirectory:recursive:followLinks:. For each filename that is in
  47. >  * the given directory, the delegate is asked if it should be added to
  48. >  * list. Therefore, the delegate could filter filenames by extension,
  49. >  * date, owner, or anything else you might think of. If there is no
  50. >  * delegate set, then everything will be added to the list.
  51. >  *
  52. >  *************************************************************************/
  53. >
  54. Hmmm. I'd recommend considering turning this inside out. How about having a File object (with a Directory subclass) that you can match against criteria. The Dir subclass can then manage a list of File objects.
  55.  
  56. I did a simple version of this  by subclassing String and adding pathname knowledge to it. That way I didn't have to have Directory objects for each dir in the path. I could have one object whose path was "/foo/bar/baz" and whose file name was "/wilma", or four objects ("foo", parented by "/"; "bar", parented by the "/foo" object, etc)
  57.  
  58. This let me roll the dir stuff into a nice encapsulated set of methods.
  59.  
  60. Searching can be done in memory, or by going out to the actual dir file itself.
  61.  
  62. ---
  63. Bruce McKenzie (spuds@netcom.com, NeXTMail welcome)
  64. Independent Software Contractor, specializing in NEXTSTEP.
  65. Sharks: 127/22/13-14
  66. ---